using System.Collections.Generic;
using Headsight.BPMN2WF.BPMN.Model;
using Headsight.BPMN2WF.Testing.TestObjCtors;
using Microsoft.VisualStudio.TestTools.UnitTesting;

namespace Headsight.BPMN2WF.Testing.TestObjCtorsTest
{
    [TestClass]
    public class BPMNModelFactoryBPMNSequenceFlowCtorTest
    {
        private BPMNModelFactoryBPMNSequenceFlowCtor _sut;

        [TestInitialize]
        public void SetUp()
        {
            _sut = new BPMNModelFactoryBPMNSequenceFlowCtor();
        }

        [TestMethod]
        public void Create()
        {
            var actual = _sut.Create();

            Assert.IsNotNull(actual);
        }

        [TestMethod]
        public void With_is_chaining()
        {
            Assert.AreSame(_sut, _sut.With(new List<BPMNSequenceFlow>()));
        }

        [TestMethod]
        public void With_Create()
        {
            var list = new List<BPMNSequenceFlow>();

            var actual = _sut.With(list).Create();

            Assert.AreSame(list, actual.CreateBPMNSequenceFlows(null, null));
        }
    }
}